package cn.iocoder.yudao.module.ao.controller.admin.classlocation.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 上课场地信息新增/修改 Request VO")
@Data
public class ClassLocationSaveReqVO {

    @Schema(description = "场地唯一ID", example = "8952")
    private Long locationId;

    @Schema(description = "场地名称，如笃志楼机房9", requiredMode = Schema.RequiredMode.REQUIRED, example = "笃志楼机房9")
    @NotEmpty(message = "场地名称不能为空")
    private String locationName;

    @Schema(description = "所属建筑物ID", example = "1")
    private Long buildingId;

    @Schema(description = "楼层", example = "3")
    private Integer floor;

    @Schema(description = "房间号", example = "301")
    private String roomNumber;

    @Schema(description = "场地类型，如机房、实训室", example = "机房")
    private String locationType;

    @Schema(description = "上课场地详细信息", example = "位于笃志楼3楼，配备投影仪")
    private String locationDetailInfo;

    @Schema(description = "教室人数", example = "50")
    private Integer classroomCapacity;

    @Schema(description = "设备清单", example = "投影仪、电脑、音响设备")
    private String equipmentList;

    @Schema(description = "管理员ID", example = "1")
    private Long managerId;

    @Schema(description = "预约规则", example = "需提前1天预约，使用时间不超过4小时")
    private String bookingRules;

    @Schema(description = "状态（0=禁用 1=启用 2=维修中 3=预约中）", example = "1")
    private Integer status;

}